<?php
    require_once("includes/functions.php");//funciones generales
    require_once("includes/conection_db.php");

    if(!isset($_SESSION))
    {
        //es que no hay session activa
        //comprobamos cookies
        session_start();
        if(!isset($_COOKIE['id']))
        {
            
            //creamos session como el guest
            $_SESSION['id']=0;
            $_SESSION['user']="Guest";
            $_SESSION['permisos']=obtener_permisos(0);
        }else{ // no hay session pero si cookies
            //recuperamos valor de cookie de DB
            $userId = $_COOKIE['id'];
            $consulta = "SELECT cookies FROM usuarios WHERE id='" . $userId . "'";
            $consulta = mysql_query($consulta,$conexion);
            $fila=mysql_fetch_array($consulta);
            $cookieId = $fila['cookies'];
            $consulta1 = "SELECT cookie FROM cookies WHERE id='" . $cookieId . "'";
            $consulta1 = mysql_query($consulta1,$conexion);
            $fila=mysql_fetch_array($consulta1);
            $cookieValor= $fila['cookie'];
            //comprobamos si el valor de cookie existe y es igual al guardado en
            // el browser del usuario
            if ($_COOKIE['valor']==$cookieValor)
            {
                //cargamos datos del usuario a la session 
                $_SESSION['id']=$userId;
                $consulta = "SELECT nick FROM usuarios WHERE id='" . $userId . "'";
                $consulta = mysql_query($consulta,$conexion);
                $fila=mysql_fetch_array($consulta);
                $userNick = $fila['nick'];
                $_SESSION['user'] = $userNick;
                $_SESSION['permisos']=obtener_permisos($userId);
                //actualizamos deadtime de cookies
                setcookie("id", $userId,time()+(60*60*24*15));
                setcookie("valor",$_COOKIE['valor'],time()+(60*60*24*15));
                $consulta='UPDATE cookies'.
                            'SET fecha_creacion = NOW()'.
                            'IN ( SELECT cookies'. 
                            'FROM usuarios'. 
                            'WHERE id = "$userId")';
                mysql_query($consulta,$conexion);
                //actualizamos la ultima visita del usuario
                $consulta="UPDATE usuarios ".
                          " SET fecha_coneccion = NOW() ".
                          "WHERE id='$userId'";
                mysql_query($consulta,$conexion);
            }else{//Si no, lo aceptamos como invitado
                $_SESSION['id']=0;
                $_SESSION['user']="Guest";
                obtener_permisos(0);
            }
        }
    }else{
        //actualizamos deadtime de cookies si es un usuario registrado
        session_start();
        $userId=$_SESSION['id'];
        $consulta='UPDATE cookies'.
                'SET fecha_creacion = NOW()'.
                'IN ( SELECT cookies'. 
                'FROM usuarios'. 
                'WHERE id = "$userId")';
        mysql_query($consulta,$conexion);
        setcookie("id", $userId,time()+(60*60*24*15));
        setcookie("valor",$_COOKIE['valor'],time()+(60*60*24*15));
        //actualizamos la ultima visita del usuario
        $consulta="UPDATE usuarios".
                "SET fecha_coneccion = NOW()".
                "WHERE id='$userId'";
        mysql_query($consulta,$conexion);
    }
?>